package cn.jly.bigdata.java;

import java.util.Random;

/**
 * @author lanyangji
 * @date 2019/11/24 17:29
 */
public class TestRandom {

    public static void main(String[] args) {

        Random random = new Random(10);
        for (int i = 0; i < 5; i++) {
            System.out.println(random.nextInt());
        }

        System.out.println("---------------------");

        // 这边构建了一个新的随机对象，但是随机因子依然是10
        random = new Random(10);
        for (int i = 0; i < 5; i++) {
            System.out.println(random.nextInt());
        }

        // 结论，两次打印的随机数完全一样
        // 总结： java中没有严格的随机数，大都根据一个随机因子，通过指定的随机算法，生成一系列随机数
        //          但是如果这个随机因子不变，随机算法也相同，那么生成的随机数都相同
        // 改进，用时间戳作为随机因子 System.currentTimeMillis()，但也有风险，比如程序运行太快？

    }
}
